SAPI - O que ?

A interface da programao das aplicaes de voz (Speech Application Programming 
Interface  SAPI)  uma API desenvolvida pela Microsoft que permite a utilizao 
do reconhecimento de voz (Speech Recognition) e sntese de voz (TTS  Text To 
Speech) nas aplicaes do Windows. Em geral, todas as verses desta API foram 
projectadas para que os programas consigam comunicar de uma maneira fcil, 
acessvel e atravs de diversas linguagens de programao com o software que 
reconhece a voz ou que converte o texto para voz. Existem grandes diferenas 
entre as verses SAPI 4 (ou anteriores que so similares entre si exceptuando-se 
alguns novos updates) e a 5 que trouxe alteraes relevantes e actualmente 
encontra-se dividida em subverses.
Nestas verses, de 1 a 4 as aplicaes comunicam directamente com os motores de 
voz. Estas APIs incluam definies de interface abstractas com os diversos 
programas e no necessitavam de mais recursos. Entretanto, na famlia SAPI 5 as 
aplicaes e os motores no comunicam directamente. Associam a fala que est em 
execuo (sapi.dll) ao respectivo componente. Existe uma API que executa um destes
 componentes para as aplicaes e outro para o conjunto das relaes entre os 
motores de voz. Normalmente em SAPI 5, os programas do a ordem para:
 Chamar atravs da API uma gramtica para o reconhecimento da voz;
 Iniciar o reconhecimento de voz;
 Fornecer o texto ao sintetizador para ser convertido em voz.
O componente sapi.dll em execuo interpreta estes comandos e processa-os, onde  
necessrio chamar o motor de voz que far a interface. Um exemplo  o carregamento
 do ficheiro de gramtica que  feito em tempo real e posteriormente os seus dados
 so passados para o reconhecedor de voz onde so actualizados para serem 
utilizados. Os motores do reconhecimento e sntese de voz tambm geram eventos 
quando esto a processar (por exemplo uma expresso vocal quando reconhecida ou o 
final de uma palavra sintetizada). Estes passam no sentido inverso, a partir dos 
motores, atravs do DLL que est a ser executado em tempo real e sobre um 
dissipador do evento da aplicao.
